﻿using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using Google.Protobuf;
using Google.Protobuf.Collections;
using Google.Protobuf.Reflection;

namespace EggLink.DanhengServer.Proto
{
	// Token: 0x020000C7 RID: 199
	[DebuggerDisplay("{ToString(),nq}")]
	public sealed class AttackDamageProperty : IMessage<AttackDamageProperty>, IMessage, IEquatable<AttackDamageProperty>, IDeepCloneable<AttackDamageProperty>, IBufferMessage
	{
		// Token: 0x17000280 RID: 640
		// (get) Token: 0x060008D6 RID: 2262 RVA: 0x0001938C File Offset: 0x0001758C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageParser<AttackDamageProperty> Parser
		{
			get
			{
				return AttackDamageProperty._parser;
			}
		}

		// Token: 0x17000281 RID: 641
		// (get) Token: 0x060008D7 RID: 2263 RVA: 0x00019393 File Offset: 0x00017593
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageDescriptor Descriptor
		{
			get
			{
				return AttackDamagePropertyReflection.Descriptor.MessageTypes[0];
			}
		}

		// Token: 0x17000282 RID: 642
		// (get) Token: 0x060008D8 RID: 2264 RVA: 0x000193A5 File Offset: 0x000175A5
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		MessageDescriptor IMessage.Descriptor
		{
			get
			{
				return AttackDamageProperty.Descriptor;
			}
		}

		// Token: 0x060008D9 RID: 2265 RVA: 0x000193AC File Offset: 0x000175AC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public AttackDamageProperty()
		{
		}

		// Token: 0x060008DA RID: 2266 RVA: 0x000193BF File Offset: 0x000175BF
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public AttackDamageProperty(AttackDamageProperty other) : this()
		{
			this.attackType_ = other.attackType_;
			this.damage_ = other.damage_;
			this._unknownFields = UnknownFieldSet.Clone(other._unknownFields);
		}

		// Token: 0x060008DB RID: 2267 RVA: 0x000193F0 File Offset: 0x000175F0
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public AttackDamageProperty Clone()
		{
			return new AttackDamageProperty(this);
		}

		// Token: 0x17000283 RID: 643
		// (get) Token: 0x060008DC RID: 2268 RVA: 0x000193F8 File Offset: 0x000175F8
		// (set) Token: 0x060008DD RID: 2269 RVA: 0x00019400 File Offset: 0x00017600
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public string AttackType
		{
			get
			{
				return this.attackType_;
			}
			set
			{
				this.attackType_ = ProtoPreconditions.CheckNotNull<string>(value, "value");
			}
		}

		// Token: 0x17000284 RID: 644
		// (get) Token: 0x060008DE RID: 2270 RVA: 0x00019413 File Offset: 0x00017613
		// (set) Token: 0x060008DF RID: 2271 RVA: 0x0001941B File Offset: 0x0001761B
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public double Damage
		{
			get
			{
				return this.damage_;
			}
			set
			{
				this.damage_ = value;
			}
		}

		// Token: 0x060008E0 RID: 2272 RVA: 0x00019424 File Offset: 0x00017624
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override bool Equals(object other)
		{
			return this.Equals(other as AttackDamageProperty);
		}

		// Token: 0x060008E1 RID: 2273 RVA: 0x00019434 File Offset: 0x00017634
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Equals(AttackDamageProperty other)
		{
			return other != null && (other == this || (!(this.AttackType != other.AttackType) && ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(this.Damage, other.Damage) && object.Equals(this._unknownFields, other._unknownFields)));
		}

		// Token: 0x060008E2 RID: 2274 RVA: 0x0001948C File Offset: 0x0001768C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override int GetHashCode()
		{
			int num = 1;
			if (this.AttackType.Length != 0)
			{
				num ^= this.AttackType.GetHashCode();
			}
			if (this.Damage != 0.0)
			{
				num ^= ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(this.Damage);
			}
			if (this._unknownFields != null)
			{
				num ^= this._unknownFields.GetHashCode();
			}
			return num;
		}

		// Token: 0x060008E3 RID: 2275 RVA: 0x000194F1 File Offset: 0x000176F1
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override string ToString()
		{
			return JsonFormatter.ToDiagnosticString(this);
		}

		// Token: 0x060008E4 RID: 2276 RVA: 0x000194F9 File Offset: 0x000176F9
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void WriteTo(CodedOutputStream output)
		{
			output.WriteRawMessage(this);
		}

		// Token: 0x060008E5 RID: 2277 RVA: 0x00019504 File Offset: 0x00017704
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalWriteTo(ref WriteContext output)
		{
			if (this.AttackType.Length != 0)
			{
				output.WriteRawTag(10);
				output.WriteString(this.AttackType);
			}
			if (this.Damage != 0.0)
			{
				output.WriteRawTag(17);
				output.WriteDouble(this.Damage);
			}
			if (this._unknownFields != null)
			{
				this._unknownFields.WriteTo(ref output);
			}
		}

		// Token: 0x060008E6 RID: 2278 RVA: 0x0001956C File Offset: 0x0001776C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public int CalculateSize()
		{
			int num = 0;
			if (this.AttackType.Length != 0)
			{
				num += 1 + CodedOutputStream.ComputeStringSize(this.AttackType);
			}
			if (this.Damage != 0.0)
			{
				num += 9;
			}
			if (this._unknownFields != null)
			{
				num += this._unknownFields.CalculateSize();
			}
			return num;
		}

		// Token: 0x060008E7 RID: 2279 RVA: 0x000195C8 File Offset: 0x000177C8
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(AttackDamageProperty other)
		{
			if (other == null)
			{
				return;
			}
			if (other.AttackType.Length != 0)
			{
				this.AttackType = other.AttackType;
			}
			if (other.Damage != 0.0)
			{
				this.Damage = other.Damage;
			}
			this._unknownFields = UnknownFieldSet.MergeFrom(this._unknownFields, other._unknownFields);
		}

		// Token: 0x060008E8 RID: 2280 RVA: 0x00019626 File Offset: 0x00017826
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CodedInputStream input)
		{
			input.ReadRawMessage(this);
		}

		// Token: 0x060008E9 RID: 2281 RVA: 0x00019630 File Offset: 0x00017830
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalMergeFrom(ref ParseContext input)
		{
			uint num;
			while ((num = input.ReadTag()) != 0U)
			{
				if (num != 10U)
				{
					if (num != 17U)
					{
						this._unknownFields = UnknownFieldSet.MergeFieldFrom(this._unknownFields, ref input);
					}
					else
					{
						this.Damage = input.ReadDouble();
					}
				}
				else
				{
					this.AttackType = input.ReadString();
				}
			}
		}

		// Token: 0x0400034B RID: 843
		private static readonly MessageParser<AttackDamageProperty> _parser = new MessageParser<AttackDamageProperty>(() => new AttackDamageProperty());

		// Token: 0x0400034C RID: 844
		private UnknownFieldSet _unknownFields;

		// Token: 0x0400034D RID: 845
		public const int AttackTypeFieldNumber = 1;

		// Token: 0x0400034E RID: 846
		private string attackType_ = "";

		// Token: 0x0400034F RID: 847
		public const int DamageFieldNumber = 2;

		// Token: 0x04000350 RID: 848
		private double damage_;
	}
}
